package 子数组系列;

public class test5 {
    public int numberOfArithmeticSlices(int[] nums) {
        // 以i位置为结尾的所有子数组中有多少等差数列
        // 最后返回总和
        int n = nums.length;
        int[] dp = new int[n];
        for (int i = 2; i < n; i++) {
            dp[i] = nums[i]-nums[i-1]==nums[i-1]-nums[i-2]?dp[i-1]+1:0;
        }
        int sum = 0;
        for(int x:dp)
            sum+=x;
        return sum;
    }
}
